package casarural;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RMISecurityManager;
import java.rmi.RemoteException;

  /**Activa el servidor remoto
  *@param Ninguno
  *@return Ninguno
  */

public class ServidorRemoto
{
	public static InterfazCapaDatos InterfazCDatos;
	
	public static InterfazCapaDatos getInterfaz(){
		int numPuerto = InterfazCapaDatos.numPuerto;
		try {
			InterfazCDatos = (InterfazCapaDatos) Naming.lookup("rmi://localhost:" + numPuerto + "/CasaRural");
		} catch (MalformedURLException e) {
			System.out.println("URL mal formada:\n\t" + e.toString());
		} catch (RemoteException e) {
			System.out.println("Problema con conexion remota:\n\t" + e.toString());
		} catch (NotBoundException e) {
			System.out.println("not bound exception:\n\t" + e.toString());
		}
		
		return InterfazCDatos;
	}
	
	
	
	public static void main(String[] args)
  {
		System.setSecurityManager(new RMISecurityManager());
		try
    {
      java.rmi.registry.LocateRegistry.createRegistry(ClaseFachada.numPuerto);
      // Crear RMIREGISTRY
		} catch (Exception e) {System.out.println(e.toString()+"Rmiregistry estaba lanzado.");}
		
		try
    {
			ClaseFachada servidor=new ClaseFachada();
			String servicio = "//localhost:" + InterfazFachada.numPuerto + "/CasaRural";
			//Resgistrar el servicio remoto
			Naming.rebind(servicio, servidor);
			System.out.println("Servicio lanzado en:\n\t" + servicio);
			
			//iniciar capa datos
			
			
		} catch (Exception e) {System.out.println(e.toString());}
	}
}
 